Software object, system and method for an automation program with function rules which has multiple uses for various programming tools

ABSTRACT

The invention relates to a software object, a system and a method for mapping function rules for an automation program with multiple use for various programming tools. To achieve a common data format, the invention uses a data format which includes character strings and contains a Boolean expression, the Boolean expression being able to be allocated to at least one result as a function rule.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is based on and hereby claims priority to EuropeanPatent Application No. 99106819.8 filed on Apr. 6, 1999.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a software object for an automation program, asystem and a method for creating, controlling and/or monitoring anindustrial process having at least one software object.

2. Description of the Related Art

Such a software object, system and method are used, in particular, inconjunction with an automation system for controlling and/or monitoringan industrial process. In this context, by way of example, the way inwhich measured values in the process affect controlled variables in theprocess is stipulated. For creating, processing, analyzing anddisplaying such an automation program, programming tools are used whichcan be executed on a data processing apparatus and are able to displaythe automation program or a portion of an automation programgraphically. In this regard, various manners of presentation arepossible for the automation program, for example structograms, automaticstate machines, circuit diagrams, function diagrams etc. Some automationprograms are capable of being presented in various manners, for examplein the form of a structogram or in the form of a program flow chart, inthe form of a circuit diagram or in the form of a function diagram.

SUMMARY OF THE INVENTION

The invention is based on the object of specifying a software object, asystem and a method for mapping function rules for an automation programwhich can be used as universally as possible for various programmingtools.

This object is achieved by a software object for an automation programwhich has the following features: the software object is provided forprocessing function rules associated with a software component, and thefunction rules have a common data format which includes a characterstring and contains at least one Boolean expression associated with atleast one result as a function rule.

This object is also achieved by a system for creating, controllingand/or monitoring an industrial process, having at least one softwareobject which has the following features: the software object is providedfor processing function rules associated with a software component, andthe function rules have a common data format which includes a characterstring and contains at least one Boolean expression associated with atleast one result.

This object is also achieved by a method for creating, controllingand/or monitoring an industrial process having at least one softwareobject, in which the software object is allocated function rules of anautomation program and in which the function rules are formed from acommon data format which includes a character string and contains atleast one Boolean expression having at least one associated result as afunction rule.

The invention is based on the insight that creating and processingfunction rules for automation programs has, to date, required amultiplicity of different data structures to be processed, whichnecessitates the use of a compiler or backward translator whenconverting the data structures. Such a practice with a plurality of datastructures thus represents an increased level of complexity. Producingthe function rules as Boolean expressions provides the automationprogram and, if appropriate, the programming tools provided for theautomation program with a common standard data format for conditionswhich includes a simple character string and can thus be usedindependently of programming language and platform. This common dataformat allows further manners of presentation operating on this formatto be provided. Such manners of presentation can also be incorporatedinto already existing systems with little effort. The use of characterstrings additionally affords the opportunity to extend the data formatand hence to support new language constructs.

Simple and secure identification of individual elements of a Booleanexpression, for example operands, is made possible by virtue ofindividual elements of the Boolean expression being provided withattributes which serve to distinguish between elements of the Booleanexpression. Apart from for identification, attributes can also bedefined for other purposes, e.g.: creation date, user identifiers,states, etc.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is described and explained in more detail below using theexemplary embodiments illustrated in the figures, in which:

FIG. 1 is a block diagram of the basic structure of a software componentand of the embedding of a software object into an automation program andinto various programming tools,

FIG. 2 is a block diagram illustrating the basic structure of a functionrule composed of Boolean expressions,

FIG. 3 is a contact diagram of an exemplary interface component,

FIG. 4 is a logic diagram of the exemplary interface componentillustrated in FIG. 3,

FIG. 5 is a first exemplary illustration of a function rule for theinterface component shown in FIGS. 3 and 4,

FIG. 6 is a second exemplary illustration of a function rule for theinterface component illustrated in FIGS. 3 and 4.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 is a block diagram illustrating the basic structure of a softwarecomponent SW and of its embedding into various programming tools W1 . .. Wm. The software component SW is representative of the basic structureof a multiplicity of software components SW1 . . . SWn. The softwarecomponent SW contains a central software object SO which manages thefunction rules associated with the software component SW. The softwareobject SO has the associated manners of presentation DA1 . . . DAm. Themanners of presentation DA1 . . . DAm are used for graphicallypresenting the function rules F within the software component SW in thevarious programming tools W1 . . . Wz. In this context, a programmingtool generally supports a plurality of manners of presentation. Thesoftware object SO thus encapsulates all the presentation-specificproperties of the function rules (that is to say for a component part ofan automation program ASP), which is illustrated using an arrow Pbetween the automation program ASP and the function rules F.

FIG. 2 is a block diagram illustrating the basic structure of a functionrule F composed of Boolean expressions. The function rule F defines aresult E as the logic combination of two Boolean expressions B1, B2. Thefirst Boolean expression B1 includes a first operand O1 a first logicfunction V1 and a second operand O2. The second Boolean expression B2includes a negation N and a conditional statement BA in the form “Value2>=5”. The first Boolean expression B1 and the second Boolean expressionB2 are logically combined with one another by a second logic functionV2, an “OR”.

As can be seen from FIG. 2, the function rule F contains a standardcommon format in the form of Boolean expressions B1, B2. The characterstring formed in this way can be used in any manners of presentation DAi(cf. FIG. 1).

FIG. 3 is a contact diagram of an exemplary interface component DA11, asused, for example, in connection with an automation program (cf. FIG.1). The interface component DA11 has an associated function rule, asshown in Boolean form in FIG. 5.

FIG. 4 is a logic diagram of an exemplary interface component DA12. Inthis case, the interface component DA12 is again based on the functionrule shown in the form of a Boolean expression in FIG. 5.

FIG. 5 is a first exemplary illustration of a function rule F1 for theinterface components in FIGS. 3 and 4. As already explained in principlein connection with FIG. 2, the function rule F1 includes a standardcommon data format made up of Boolean expressions. Such a data format isindependent of the manner of presentation used and can thus be usedindependently of programming language and platform.

FIG. 6 is a second exemplary illustration of a function rule F1 for theinterface components in FIGS. 3 and 4. In this case, the structure ofthe function rule F1 is essentially equivalent to the structure of thefunction rule in FIG. 5. Unlike the latter, the component parts of thefunction rule F1 have respectively associated attributes A1 . . . A4 foridentifying the component parts. In the exemplary embodiment shown inFIG. 6, the attributes A1 . . . A4 include the allocation of thecharacters @1, @2, @3, @4. This makes it possible to distinguish betweenoperands which occur more than once.

The advantages of the invention will be listed again below in summarizedform:

-   -   The character string presentation allows simple data interchange        to be effected, e.g. for the purpose of persistence, clipboard,        etc.    -   The use of a character string allows the data to be accessed        independently of programming language and platform    -   It is possible to provide further manners of presentation which        -   . . . operate on this format        -   . . . can be incorporated into an already existing system            with relatively little effort        -   . . . can interpret already existing data    -   The use of character strings affords the opportunity to extend        the data format and hence to support new language constructs    -   The concept of providing attributes for component parts of the        condition allows additional information, permitting integration        of further concepts, to be stored    -   e.g. allows an attribute for identifying component parts of the        condition to be introduced which, by way of example, makes it        possible to stipulate which element is to be selected or which        can be used to assign a status value for visualization purposes.        The specific manners of presentation are abstracted to give a        portable, extendible, common data format. Providing attributes        for Boolean expressions makes it possible to record further        information.

The text below shows possible ways of implementing the Boolean logiccombinations:

-   -   Presentation of the Boolean character string using AND, OR, NOT,        etc.    -   e.g. Result=A AND B OR NOT C    -   Presentation of the Boolean character string using +, *, !, etc.    -   e.g. Result=a*b+!c    -   Presentation of the Boolean character string using &, |, !, etc.    -   e.g. Result=a&b|!c    -   Presentation of the Boolean character string using XML tags e.g.

<Expression AssignedTo=Ergebnis, Type=Resetting>

-   -   <Or ID=1>        -   <And ID=2>            -   <Operand ID=4>A</Operand>            -   <Operand ID=3>B</Operand>        -   </And>        -   <Operand ID=5, Negated=True>C</Operand>        -   </Or >

</Expression>

In summary, the invention thus relates to a software object, a systemand a method for mapping function rules for an automation program withmultiple use for various programming tools. To achieve a common dataformat, the invention proposes using a data format which includescharacter strings and contains a Boolean expression, the Booleanexpression being able to be allocated to at least one result as afunction rule.

1. A system for creating, controlling and/or monitoring an industrialprocess, comprising: a storage unit storing an automation programcontaining function rules for defining results and a software componentcontaining a software object for managing and processing function rulesassociated with the software component, and programming tools forgraphically presenting the function rules in manners of presentationassociated with the software object using a common data format whichincludes a character string, usable independently of programminglanguage and platform, that contains at least one Boolean expressionassociated with at least one result defined by a corresponding functionrule of the automation program controlling the industrial process; and aprocessor, coupled to said storage unit, to execute the automationprogram and programming tools, wherein elements of the at least oneBoolean expression have first attributes for identifying anddistinguishing between the elements, and wherein the elements of theBoolean expression have second attributes for storing additionalinformation.
 2. A method for creating and at least one of controllingand monitoring an industrial process, comprising: storing function rulesof an automation program used to define results, and a software objectof a software component that manages and processes function rulesassociated with the software component and having a common data formatwhich includes a character string, usable independently of programminglanguage and platform, that contains at least one Boolean expressionassociated with at least one result defined by a corresponding functionrule of the automation program controlling the industrial process; andexecuting programming tools to graphically present the function rules inmanners of presentation associated with the software object; identifyingand distinguishing elements of the Boolean expression using firstattributes associated with the elements; and storing additionalinformation in second attributes associated with the elements of theBoolean expression.